﻿using System;
using System.Collections.Generic;
using TeamTasker.Contracts;

namespace TeamTasker.Server.BusinessLogic.Staff
{
    public interface IStaffRepositoryConnector
    {
        /// <summary>
        /// Checks if user exists in staff repository. 
        /// </summary>
        /// <param name="login">user login ID</param>
        /// <param name="password">user password</param>
        /// <returns>boolean indication of success</returns>
        bool CheckUser(string login, string password);

        /// <summary>
        /// Returns all users from the external repository.
        /// </summary>
        /// <returns>list of user entries</returns>
        IList<User> GetAllUsers();

        /// <summary>
        /// Returns users from the external repository modified after specified timestamp.
        /// </summary>
        /// <param name="since">threshold timestamp</param>
        /// <returns>list of user entries</returns>
        IList<User> GetModifiedUser(DateTime since);
    }
}
